package com.emm.yixun.jobs.common.utils;

import java.io.File;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.Map;

/**
 * 获取磁盘信息
 * @author junze.liu
 *
 */
public class DiskFreeUtil {

	private static DecimalFormat df = new DecimalFormat("#.##");

	public static Map<String, String> diskFree() {
		Map<String, String> map = new HashMap<String, String>();
		
		//获取磁盘分区信息
		File[] roots = File.listRoots();
		for (File file : roots) {
			
			if(!"/dev/mapper/domuvg-data".equals(file.getPath())) {
				continue;
			}
			//可用空间
			long freeSpace = file.getFreeSpace() / 1024 / 1024 / 1024;
			//总空间
			long totalSpace = file.getTotalSpace() / 1024 / 1024 / 1024;
			//已用空间
			long usableSpace = (file.getTotalSpace()-file.getFreeSpace()) / 1024 / 1024 / 1024;
			//已用比率
			double percent = (double)usableSpace/(double)totalSpace*100;
			//是否已超过安全值 （安全值=90%, 0 否 1是）
			String isExceed = "0";
			if(percent >= 90) {
				isExceed = "1";
			}
			map.put("path", file.getPath());
			map.put("freeSpace", freeSpace+"G"); // 空闲空间
			map.put("usableSpace", usableSpace+"G"); // 可用空间
			map.put("totalSpace", totalSpace+"G"); // 总空间
			map.put("percent", df.format(percent)+"%"); // 百分比
			map.put("isExceed", isExceed);
		}
		
		return map;
	}
}
